package com.ruoyi.generator.entity;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.Date;

@Data
public class Contract extends BaseEntity {

    private Long id;  // 主键ID


    private String contractPrefix;  // 合同前缀


    private Long nextId;

    private String contractSuffix;  // 合同后缀

    @Excel(name = "合同名称")
    private String contractName;  // 合同名称

    @Excel(name = "合同编号")
    private String contractCode;  // 合同编号

    @Excel(name = "合同类型")
    private String contractType;  // 合同类型

    @Excel(name = "付款方式")
    private String paymentType;  // 付款方式

    @Excel(name = "合同金额")
    private Double contractAmount;  // 合同金额

    @Excel(name = "有效金额")
    private Double effectiveAmount;  // 有效金额

    @Excel(name = "已付金额")
    private Double paidAmount;  // 已付金额

    @Excel(name = "运维周期(月)")
    private Integer contractPeriod;  // 运维周期

    @Excel(name = "开工运维周期(月)")
    private Integer startWorkContractPeriod;  // 开工运维周期

    @Excel(name = "本年运维周期(月)")
    private Integer yearEndPeriod;

    @Excel(name = "签约时间" , dateFormat = "yyyy-MM-dd")
    private Date signDate;  // 签约时间

    @Excel(name = "开始时间" , dateFormat = "yyyy-MM-dd")
    private Date startDate;  // 开始时间

    @Excel(name = "到期时间", dateFormat = "yyyy-MM-dd" )
    private Date endDate;  // 到期时间

    @Excel(name = "首次回款月份")
    private String firstPaymentMonth;  // 首次回款月份

    @Excel(name = "上次付款时间", dateFormat = "yyyy-MM-dd")
    private Date lastPaymentDate;  // 上次付款时间

    @Excel(name = "客户经理")
    private String manager;  // 客户经理

    @Excel(name = "所属部门")
    private String department;  // 所属部门

    @Excel(name = "客户名称")
    private String clientName;  // 客户名称

    @Excel(name = "客户编号")
    private String clientCode;  // 客户编号

    @Excel(name = "审核状态")
    private String auditStatus;  // 审核状态

    @Excel(name = "文件路径")
    private String filePath;  // 文件路径

    @Excel(name = "创建人")
    private String createBy;  // 创建人

    @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;  // 创建时间

    @Excel(name = "更新人")
    private String updateBy;  // 更新人

    @Excel(name = "更新时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;  // 更新时间

    private String delFlag;  // 删除标志（0：正常，1：删除）

    @Excel(name = "备注")
    private String remark;  // 备注

    @Excel(name = "年度")
    private String year;  // 年度

    @Excel(name = "月度产值")
    private String monthOutputValue;  // 月度产值

    @Excel(name = "年度产值")
    private String yearOutputValue;  // 年度产值

    @Excel(name = "累计产值")
    private String grandTotalValue;  // 累计产值

    @Excel(name = "未完成产值")
    private String unfinishedOutput;  // 未完成产值
    private String yearAgreedPayment;  // 本年约定回款
    private String yearReceivedPayment;  // 本年已回款
    @Excel(name = "合同状态")
    private String contractStatus;  // 合同状态
    @Excel(name = "利润率（%）")
    private String profitMargin;  // 利润率

    private String formType; //  表单类型year2025_payment

    private String year2025Payment;

    private String contractCategory;// 合同类别


}